import axios from './http'
import { getList } from '../util/storage/getlistbycache';

// 创建课程
export function createCourse(data) {
  return axios({
    url: '/api/course/create',
    method: 'post',
    // params: {
    //   cName: '123',
    //   cNum: '123'
    // }
  })
}

// 获取所有课程
export async function getCourselist(data) {
  return await getList(`/api/course/list`)
  // return axios({
  //   url: '/api/course/list',
  //   method: 'get',
  // })
}

// 获取可选课程 
export async function getCurriculumlist(data) {
  return await getList(`/api/curriculum/list`, data)
  // return axios({
  //   url: `/api/curriculum/list${data?.state ? '?state=' + data.state : ''}`,
  //   method: 'get',
  // })

  
}

// 开设课程
export function gencurr(data) {
  return axios({
    url: `/api/curriculum/gencurr`,
    method: 'post',
    data
  })
}

// 更新开设课程信息
export function updatecurr(data) {
  return axios({
    url: "/api/curriculum/updatecurr",
    method: 'post',
    data
  })
}

// 更新开设课程的任务设置
export function updatecurrTaskSetting(data) {
  return axios({
    url: "/api/curriculum/updatetasksettings",
    method: 'post',
    data
  })
}

// 撤消开设
export function deleteCurriculum(data) {
  return axios({
    url: '/api/curriculum/deletecurriculum',
    method: 'post',
    data
  })
}

// 获取已开设课程
export function getCurriculumCourse(data) {
  return axios({
    url: `/api/curriculum/${data.id}`,
    method: 'get',
  })
}

// 获取指定的已开设课程
export function getCurriculumCourseInfo(data) {
  return axios({
    url: `/api/curriculum/${data.id}`,
    method: 'get',
  })
}

//获取单个选修数据
export function getSingleChooseInfo(data) {
  return axios({
    url: `/api/choose/mychoose?currNo=${data.currNo}`,
    method: 'get',
  })
}

// 随机生成课程
export function getCoursegenlist(data) {
  return axios({
    url: `/api/course/genlist/${data.num}`,
    method: 'get',
  })
}

// 获取课程详情
export function getCourseDetail(data) {
  return axios({
    url: `/api/course/${data.id}`,
    method: 'get',
  })
}

// 学生选课
export function getChooseCreate(data) {
  return axios({
    url: `/api/choose/create`,
    method: 'post',
    data
  })
}

// 删除选修
export function deleteChoose(data) {
  return axios({
    url: '/api/choose/deletechoose',
    method: 'post',
    data
  })
}

// 获取所选课程
export async function getChooselist(data) {
  return await getList(`/api/choose/mylist`, data)
  // ?userID=${data.userID}
  // return axios({
  //   url: `/api/choose/mylist`,
  //   method: 'post',
  //   data
  // })
}

// 更新学员学习数据,这里只是学生更新学习数据！！
export function getChooseUpdateTaskResult(data) {
  return axios({
    url: `/api/choose/updatetaskresult`,
    method: 'post',
    data
  })
}

// 修改指导教师
export function getChooseUpdateTutor(data) {
  return axios({
    url: `/api/choose/update`,
    method: 'post',
    data
  })
}

// 获取对应课程的学习数据,已启用
export async function getChooseCoursedata(data) {
  return await getList(`/api/choose/mystudydata`, data)
  // ?currNo=${data.currNo}
  // return axios({
  //   url: '/api/choose/mystudydata',
  //   method: 'post',
  //   data
  // })
}

// 获取新的学习数据 任务数组
export function getMyStudyData(data) {
  // ?chooseNo=${data.chooseNo}&currNo=${data.currNo}&userID=${data.userID}
  return axios({
    url: `/api/choose/mytaskresults`,
    method: 'get',
    params: {needAll: true, ...data}
  })
}

// 更新学员学习任务状态
export function updateTaskstate(data) {
  return axios({
    url: `/api/choose/updatetaskstate`,
    method: 'post',
    data
  })
}

// // 获取对应课程的学习数据，获取isGroupLeader
// export async function getMyChoose(data) {
//   return await getList(`/api/choose/mychoose`, data)
// }

// 创建课程，应该由设计课程那里发布！！
export function saveCourse(data) {
  return axios({
    url: '/api/course/savecourse',
    method: 'post',
    data
  })
}

// 发布更新任务，应该由设计课程那里发布！要求课程必须是持续发布课程！
export function saveTask(data) {
  return axios({
    url: '/api/course/savetask',
    method: 'post',
    data
  })
}

// 发布更新任务组，应该由设计课程那里发布！要求课程必须是持续发布课程！
export function saveTaskGroup(data) {
  return axios({
    url: '/api/course/savetaskgroup',
    method: 'post',
    data
  })
}

// 获取这门课所开设的课程
export async function getCurriculumCourseList(data) {
  debugger
  return await getList(`/api/curriculum/list`, data)
}
